Home networks are growing rapidly. Many homes now have more than one PC or laptop computer. TV and audio equipment with networking capabilities are available and are expected to be adopted rapidly. Numerous other devices with network capabilities are also available including digital still and movie cameras, mobile phones, PDA's, and even appliances. Currently there is no method or system which allows a user to generate views or pictures of all the user's devices on the LAN.
In business networks, network management protocols such as Simple Network Management Protocol (SNMP) and SNMP managers allow system administrators to get views of the enterprise network. These views are management views, in that they allow the user to see various pieces of hardware and system software and to view and set configuration and administration data. There a no such managers that allows one to view the various device file systems as a whole, much less locate a particular file or set of files. Similarly while one can find a printer in such a system, one cannot use the network management system to configure a PC on the network to use the printer, much less use it to print a document.
The Java community has a directory service called JINI that allows Java programs to advertise, discover, and access user-requestable services offered on the JINI network. As such JINI, is a framework which enables integration of a collection of networked services, but it does not perform the integration. It's limited to Java programs only. Thus, a device which does not support Java cannot participate. Further, JINI presents no integrated view of the resources (i.e. data and services on the network). JINI is service oriented not data oriented. While one can find a printer on a JINI server, one cannot search for say all the files on the network that are image files.
SAMBA is a protocol in wide-use on local area networks today. It can run over NetBIOS or TCP/IP. SAMBA allows devices to announce their presence on the SAMBA network and to advertise file systems and printers which they share. A user can browse a SAMBA network and search for a specific device, shared folder, or printer. SAMBA, however, provides no general query mechanism. For example, if a digital still camera attaches to a network and is SAMBA enabled, the camera appears as just another device with shared folders. SAMBA cannot inform the user that the device is a camera, and SAMBA cannot indicate that it contains image files (without the user manually browsing the cameras shared folders).
HAVI is specification for home network for consumer electronic devices. It does maintain a dynamic directory of devices, and it enables advertising and discovery of available services. It, like JINI, is based on Java and is an enabling technology. Also, like JINI it is service and device oriented, not data oriented.
Universal Plug and Play (UPnP) is standard with some similarities to JINI in HAVI. That is, it provides a protocol for device and service discovery. It differs in that it is a peer-to-peer architecture. That is, no central directory is required. One or more “control points” listen for device and service advertisements which interest the control points. Control points can broadcast request to discover devices and services, as well
With conventional methods, one can create systems that allow various subsets of network resources to be cataloged and possibly displayed in a manner showing the relationships between the resources. But no current network application allows for a complete view of network resources to be created which reflects the relationships among the resources, is navigable through those relationships, is searchable by resource name, type, or other metadata attribute presence or value.
Conventional views of the network resources are shallow and inflexible in what they track, the level of detail tracked, and the length of time tracked. The content managed by a device (e.g., a camera) or a service (e.g., a storage service like a hard-drive, or web service like a web site) cannot be determined in any uniform way, nor can it be accessed through any uniform interface. To get at the camera's content one would need to use the camera's service interface. However, there are no standards at this time for such interfaces. Even with standards, vendors are allowed to provide proprietary extensions. A camera's service interface is different from a hard drive's service interface which differs from web site's service interface. (One can extend the basic UPnP, JINI interfaces to describe each resource as a service, but this is an inefficient solution. The discovery protocols would flood the system given the dynamic nature of many resources, such as files on a hard drive.)
Further the conventional methods fail to provide a view of the network based on history (recent or long-term). For example, it would be useful to see all the devices and resources which where attached to a network in a given time period, perhaps the last day. None of the above systems support a general search capability for network services and resources. For example, a user can't ask to see all the images available on the network, a particular device, or a particular type of device (such as “find all where resource=image/jpeg and service=camera/still). In fact, today there is no tool or service that enables a user to submit a request to see all the printers on a network. As another example, a photo organizing application cannot detect or find the presence of a device with new images on the network, so a photo organizing application cannot automatically import the images from the device. It will be able to detect devices with storage drives and it will be able to detect cameras (once vendors define the profiles). The software, at this point presumably, would have to browse the device or service searching for resources of interest. The interfaces for these different devices and services will vary, so the software would have to be familiar with each profile.